RNA-Seq: differential expression analysis of controls (lab + literature)

Libraries required

library(limma)
library(edgeR)
library(plgINS)
library(sva)
library(ggplot2)
library(dplyr)
library(patchwork)
library(SummarizedExperiment)
library(reshape2)
library(autoplotly)
library(pheatmap)
library(viridis)
library(RColorBrewer)
library(ggplotify)
library(SEtools)
library(DESeq2)

Load salmon object

load("input/SC_controls_rnaseq_lab_june2021.tds.RData")

Differeitial analysis using limma

PND8 vs PND15

design <- model.matrix(~ 0 + Group + LibPrepBatch,
  data = salmon@phenoData[grep(pattern = "PND8|PND15", x = salmon@phenoData$Group), ]
)
colnames(design) <- gsub(pattern = "Group", replacement = "", x = colnames(design))

y <- DGEList(counts = salmon@gene.counts[, grep(pattern = "PND8|PND15", x = colnames(salmon@gene.counts))])
keep <- filterByExpr(y, design, min.count = 15)
y <- y[keep, ]

en <- as.matrix(vst(round(y$counts), blind = TRUE))
## converting counts to integer mode
sv <- sva(en, design, n.sv = NULL)$sv
## Number of significant surrogate variables is:  3 
## Iteration (out of 5 ):1  2  3  4  5
colnames(sv) <- paste0("SV", 1:ncol(sv))
design <- cbind(sv, design)

dds <- calcNormFactors(y)

v <- voom(dds, design = design)

contrast.matrix <- makeContrasts(PND15 - PND8, levels = design)
fit <- lmFit(v)

fit2 <- contrasts.fit(fit, contrast.matrix)
fit2 <- eBayes(fit2)

pnd8.pnd15 <- as.data.frame(topTable(fit2, coef = 1, number = Inf))
pnd8.pnd15 <- data.frame(Genes = rownames(pnd8.pnd15), pnd8.pnd15, stringsAsFactors = F)
pnd8.pnd15_sig <- pnd8.pnd15[abs(pnd8.pnd15$logFC) >= 1 & pnd8.pnd15$adj.P.Val <= 0.05, ]

PND15 vs PNW21

design <- model.matrix(~ 0 + Group + LibPrepBatch,
  data = salmon@phenoData[grep(pattern = "PND15|PNW21", x = salmon@phenoData$Group), ]
)
colnames(design) <- gsub(pattern = "Group", replacement = "", x = colnames(design))

y <- DGEList(counts = salmon@gene.counts[, grep(pattern = "PND15|PNW21", x = colnames(salmon@gene.counts))])
keep <- filterByExpr(y, design, min.count = 15)
y <- y[keep, ]

en <- as.matrix(vst(round(y$counts), blind = TRUE))
## converting counts to integer mode
sv <- sva(en, design, n.sv = NULL)$sv
## Number of significant surrogate variables is:  3 
## Iteration (out of 5 ):1  2  3  4  5
colnames(sv) <- paste0("SV", 1:ncol(sv))
design <- cbind(sv, design)

dds <- calcNormFactors(y)
v <- voom(dds, design = design)
## Coefficients not estimable: LibPrepBatchB2
## Warning: Partial NA coefficients for 20832 probe(s)
contrast.matrix <- makeContrasts(PNW21 - PND15, levels = design)

fit <- lmFit(v)
## Coefficients not estimable: LibPrepBatchB2
## Warning: Partial NA coefficients for 20832 probe(s)
fit2 <- contrasts.fit(fit, contrast.matrix)
fit2 <- eBayes(fit2)

pnd15.pnw21 <- as.data.frame(topTable(fit2, coef = 1, number = Inf))
pnd15.pnw21 <- data.frame(Genes = rownames(pnd15.pnw21), pnd15.pnw21, stringsAsFactors = F)
pnd15.pnw21_sig <- pnd15.pnw21[abs(pnd15.pnw21$logFC) >= 1 & pnd15.pnw21$adj.P.Val <= 0.05, ]

cpm Counts data and pData

y <- DGEList(counts = salmon@gene.counts)
keep <- filterByExpr(y, design, min.count = 15)
y <- y[keep, ]

design <- model.matrix(~ 0 + Group + LibPrepBatch, data = salmon@phenoData)

sv <- svacor(y$counts, mm = design)
## Using blind variance-stabilizing transformation
## converting counts to integer mode
## Number of significant surrogate variables is:  5 
## Iteration (out of 5 ):1  2  3  4  5
dds <- calcNormFactors(y, design = design)
cpm <- cpm(dds, log = T)

data <- list(cpm = cpm, sva = sv$cor, pData = salmon@phenoData)

save(data,
  file = "./output/data_pData.RData", compress = T,
  compression_level = 3
)

Results

dea.list <- list(
  `pnd15 vs pnd8` = as.DEA(pnd8.pnd15),
  `pnw21 vs pnd15` = as.DEA(pnd15.pnw21)
)

dea.limma <- list(
  `pnd15 vs pnd8` = pnd8.pnd15,
  `pnw21 vs pnd15` = pnd15.pnw21
)

Save RData files

save(dea.list,
  file = "./output/dea_SC_Controls_lab_newSeq.DEA.RData", compress = T,
  compression_level = 3
)

save(dea.limma,
  file = "./output/limma_SC_Controls_lab_newSeq.RData", compress = T,
  compression_level = 3
)

writexl::write_xlsx(x = dea.limma, path = "output/dea_results.xlsx", col_names = T, format_headers = T)

MA plots

PND15 vs PND8

res_8_15 <- pnd8.pnd15
res_8_15$threshold <- as.factor(res_8_15$adj.P.Val < 0.05)

p1 <- ggplot(data = res_8_15, aes(
  x = res_8_15$AveExpr,
  y = res_8_15$logFC,
  colour = threshold
)) +
  geom_point(alpha = 0.5, size = 1.8) +
  geom_hline(aes(yintercept = 0), colour = "blue", size = 1) +
  ylim(c(
    -ceiling(max(abs(res_8_15$logFC))),
    ceiling(max(abs(res_8_15$logFC)))
  )) +
  ggtitle("PND15 vs PND8") +
  labs(subtitle = "loess fit") +
  xlab("Mean expression") +
  ylab("Log2 Fold Change") +
  theme(
    plot.title = element_text(face = "bold", size = 20, hjust = 0.5),
    plot.subtitle = element_text(size = 16, hjust = 0.5, face = "italic", color = "blue"),
    axis.title.x = element_text(face = "bold", size = 15),
    axis.text.x = element_text(face = "bold", size = 12),
    legend.title = element_text(face = "bold", size = 15),
    legend.text = element_text(size = 14)
  ) +
  scale_colour_discrete(name = "p.adjusted < 0.05") +
  stat_smooth(se = FALSE, method = "loess", color = "red", formula = y ~ x, size = 1)
p1
## Warning: Use of `res_8_15$AveExpr` is discouraged. Use `AveExpr` instead.
## Warning: Use of `res_8_15$logFC` is discouraged. Use `logFC` instead.
## Warning: Use of `res_8_15$AveExpr` is discouraged. Use `AveExpr` instead.
## Warning: Use of `res_8_15$logFC` is discouraged. Use `logFC` instead.

PNW21 vs PND15

res_15_21 <- pnd15.pnw21
res_15_21$threshold <- as.factor(res_15_21$adj.P.Val < 0.05)

p2 <- ggplot(data = res_15_21, aes(
  x = res_15_21$AveExpr,
  y = res_15_21$logFC,
  colour = threshold
)) +
  geom_point(alpha = 0.5, size = 1.8) +
  geom_hline(aes(yintercept = 0), colour = "blue", size = 1) +
  ylim(c(
    -ceiling(max(abs(res_15_21$logFC))),
    ceiling(max(abs(res_15_21$logFC)))
  )) +
  ggtitle("PNW21 vs PND15") +
  labs(subtitle = "loess fit") +
  xlab("Mean expression") +
  ylab("Log2 Fold Change") +
  theme(
    plot.title = element_text(face = "bold", size = 20, hjust = 0.5),
    plot.subtitle = element_text(size = 16, hjust = 0.5, face = "italic", color = "blue"),
    axis.title.x = element_text(face = "bold", size = 15),
    axis.text.x = element_text(face = "bold", size = 12),
    legend.title = element_text(face = "bold", size = 15),
    legend.text = element_text(size = 14)
  ) +
  scale_colour_discrete(name = "p.adjusted < 0.05") +
  stat_smooth(se = FALSE, method = "loess", color = "red", formula = y ~ x, size = 1)
p2
## Warning: Use of `res_15_21$AveExpr` is discouraged. Use `AveExpr` instead.
## Warning: Use of `res_15_21$logFC` is discouraged. Use `logFC` instead.
## Warning: Use of `res_15_21$AveExpr` is discouraged. Use `AveExpr` instead.
## Warning: Use of `res_15_21$logFC` is discouraged. Use `logFC` instead.

Heatmap of most variable genes

xvar <- apply((data$cpm + 1), 1, var)
genes500 <- head(sort(xvar, decreasing = TRUE), n = 500)
x500 <- data$cpm[rownames(data$cpm) %in% names(genes500), ]

pheatmap(x500,
  scale = "row", show_rownames = F, col = viridis(100),
  show_colnames = F, annotation_col = data$pData[, 1:2],
  main = "Clustering of samples based on top 500 variable genes"
)

PCA

CPM

plgINS::plPCA(
  x = data$cpm, samples_data = data$pData,
  colorBy = "Group", shapeBy = "LibPrepBatch", add.labels = FALSE
)

SVA normalized

plgINS::plPCA(
  x = data$sva, samples_data = data$pData,
  colorBy = "Group", shapeBy = "LibPrepBatch", add.labels = FALSE
)

References

report::cite_packages(session = sessionInfo())
## Warning in utils::citation(pkg_name): no date field in DESCRIPTION file of
## package 'plgINS'
##   - Constantin Ahlmann-Eltze, Peter Hickey and Hervé Pagès (2021). MatrixGenerics: S4 Generic Summary Statistic Functions that Operate on Matrix-Like Objects. R package version 1.2.1. https://bioconductor.org/packages/MatrixGenerics
##   - C. Sievert. Interactive Web-Based Data Visualization with R, plotly, and shiny. Chapman and Hall/CRC Florida, 2020.
##   - Erich Neuwirth (2014). RColorBrewer: ColorBrewer Palettes. R package version 1.1-2. https://CRAN.R-project.org/package=RColorBrewer
##   - Guangchuang Yu (2021). ggplotify: Convert Plot to 'grob' or 'ggplot' Object. R package version 0.0.6. https://CRAN.R-project.org/package=ggplotify
##   - Hadley Wickham (2007). Reshaping Data with the reshape Package. Journal of Statistical Software, 21(12), 1-20. URL http://www.jstatsoft.org/v21/i12/.
##   - Hadley Wickham, Romain François, Lionel Henry and Kirill Müller (2021). dplyr: A Grammar of Data Manipulation. R package version 1.0.5. https://CRAN.R-project.org/package=dplyr
##   - Henrik Bengtsson (2021). matrixStats: Functions that Apply to Rows and Columns of Matrices (and to Vectors). R package version 0.58.0. https://CRAN.R-project.org/package=matrixStats
##   - H. Pagès, M. Lawrence and P. Aboyoun (2020). S4Vectors: Foundation of vector-like and list-like containers in Bioconductor. R package version 0.28.1. https://bioconductor.org/packages/S4Vectors
##   - H. Wickham. ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York, 2016.
##   - Jeffrey T. Leek, W. Evan Johnson, Hilary S. Parker, Elana J. Fertig, Andrew E. Jaffe, Yuqing Zhang, John D. Storey and Leonardo Collado Torres (2020). sva: Surrogate Variable Analysis. R package version 3.38.0.
##   - Lawrence M, Huber W, Pag\`es H, Aboyoun P, Carlson M, et al. (2013) Software for Computing and Annotating Genomic Ranges. PLoS Comput Biol 9(8): e1003118. doi:10.1371/journal.pcbi.1003118
##   - Lawrence M, Huber W, Pag\`es H, Aboyoun P, Carlson M, et al. (2013) Software for Computing and Annotating Genomic Ranges. PLoS Comput Biol 9(8): e1003118. doi:10.1371/journal.pcbi.1003118
##   - Love, M.I., Huber, W., Anders, S. Moderated estimation of fold change and dispersion for RNA-seq data with DESeq2 Genome Biology 15(12):550 (2014)
##   - Martin Morgan, Valerie Obenchain, Jim Hester and Hervé Pagès (2020). SummarizedExperiment: SummarizedExperiment container. R package version 1.20.0. https://bioconductor.org/packages/SummarizedExperiment
##   - Martin Morgan, Valerie Obenchain, Michel Lang, Ryan Thompson and Nitesh Turaga (2020). BiocParallel: Bioconductor facilities for parallel evaluation. R package version 1.24.1. https://github.com/Bioconductor/BiocParallel
##   - Orchestrating high-throughput genomic analysis with Bioconductor. W. Huber, V.J. Carey, R. Gentleman, ..., M. Morgan Nature Methods, 2015:12, 115.
##   - Orchestrating high-throughput genomic analysis with Bioconductor. W. Huber, V.J. Carey, R. Gentleman, ..., M. Morgan Nature Methods, 2015:12, 115.
##   - Pierre-Luc Germain (2020). SEtools: SEtools: tools for working with SummarizedExperiment. R package version 1.4.0.
##   - Pierre-Luc Germain (2021). plgINS: plgINS. R package version 0.1.5.
##   - Pinheiro J, Bates D, DebRoy S, Sarkar D, R Core Team (2021). _nlme:Linear and Nonlinear Mixed Effects Models_. R package version 3.1-152,<URL: https://CRAN.R-project.org/package=nlme>.
##   - Raivo Kolde (2019). pheatmap: Pretty Heatmaps. R package version 1.0.12. https://CRAN.R-project.org/package=pheatmap
##   - R Core Team (2021). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. URL https://www.R-project.org/.
##   - R. Gentleman, V. Carey, W. Huber and F. Hahne (2021). genefilter: genefilter: methods for filtering genes from high-throughput experiments. R package version 1.72.1.
##   - Ritchie, M.E., Phipson, B., Wu, D., Hu, Y., Law, C.W., Shi, W., and Smyth, G.K. (2015). limma powers differential expression analyses for RNA-sequencing and microarray studies. Nucleic Acids Research 43(7), e47.
##   - Robinson MD, McCarthy DJ and Smyth GK (2010). edgeR: a Bioconductor package for differential expression analysis of digital gene expression data. Bioinformatics 26, 139-140
##   - Simon Garnier, Noam Ross, Robert Rudis, Antônio P. Camargo, Marco Sciaini, and Cédric Scherer (2021). Rvision - Colorblind-Friendly Color Maps for R. R package version 0.4.0.
##   - Simon Garnier, Noam Ross, Robert Rudis, Antônio P. Camargo, Marco Sciaini, and Cédric Scherer (2021). Rvision - Colorblind-Friendly Color Maps for R. R package version 0.6.0.
##   - Sonali Arora, Martin Morgan, Marc Carlson and H. Pagès (2021). GenomeInfoDb: Utilities for manipulating chromosome names, including modifying them to follow a particular naming style. R package version 1.26.7. https://bioconductor.org/packages/GenomeInfoDb
##   - Thomas Lin Pedersen (2020). patchwork: The Composer of Plots. R package version 1.1.1. https://CRAN.R-project.org/package=patchwork
##   - Wood, S.N. (2011) Fast stable restricted maximum likelihood and marginal likelihood estimation of semiparametric generalized linear models. Journal of the Royal Statistical Society (B) 73(1):3-36
##   - Yuan Tang (2018). autoplotly: An R package for automatic generation of interactive visualizations for statistical results. Journal of Open Source Software, 3(24), 657, https://doi.org/10.21105/joss.00657

SessionInfo

devtools::session_info() %>%
  details::details()

─ Session info ───────────────────────────────────────────────────────────────
 setting  value                       
 version  R version 4.0.4 (2021-02-15)
 os       Ubuntu 16.04.7 LTS          
 system   x86_64, linux-gnu           
 ui       X11                         
 language (EN)                        
 collate  en_US.UTF-8                 
 ctype    en_US.UTF-8                 
 tz       Europe/Zurich               
 date     2021-06-28                  

─ Packages ───────────────────────────────────────────────────────────────────
 package              * version  date       lib source        
 annotate               1.68.0   2020-10-27 [1] Bioconductor  
 AnnotationDbi          1.52.0   2020-10-27 [1] Bioconductor  
 assertthat             0.2.1    2019-03-21 [1] CRAN (R 4.0.4)
 autoplotly           * 0.1.4    2021-04-18 [1] CRAN (R 4.0.4)
 bayestestR             0.9.0    2021-04-08 [1] CRAN (R 4.0.4)
 Biobase              * 2.50.0   2020-10-27 [1] Bioconductor  
 BiocGenerics         * 0.36.1   2021-04-16 [1] Bioconductor  
 BiocManager            1.30.12  2021-03-28 [1] CRAN (R 4.0.4)
 BiocParallel         * 1.24.1   2020-11-06 [1] Bioconductor  
 Biostrings             2.58.0   2020-10-27 [1] Bioconductor  
 bit                    4.0.4    2020-08-04 [1] CRAN (R 4.0.4)
 bit64                  4.0.5    2020-08-30 [1] CRAN (R 4.0.4)
 bitops                 1.0-7    2021-04-24 [1] CRAN (R 4.0.4)
 blob                   1.2.1    2020-01-20 [1] CRAN (R 4.0.4)
 bookdown               0.22     2021-04-22 [1] CRAN (R 4.0.4)
 bslib                  0.2.4    2021-01-25 [1] CRAN (R 4.0.4)
 cachem                 1.0.4    2021-02-13 [1] CRAN (R 4.0.4)
 Cairo                  1.5-12.2 2020-07-07 [1] CRAN (R 4.0.4)
 callr                  3.7.0    2021-04-20 [1] CRAN (R 4.0.4)
 circlize               0.4.12   2021-01-08 [1] CRAN (R 4.0.4)
 cli                    2.5.0    2021-04-26 [1] CRAN (R 4.0.4)
 clipr                  0.7.1    2020-10-08 [1] CRAN (R 4.0.4)
 clue                   0.3-59   2021-04-16 [1] CRAN (R 4.0.4)
 cluster                2.1.2    2021-04-17 [1] CRAN (R 4.0.4)
 coda                   0.19-4   2020-09-30 [1] CRAN (R 4.0.4)
 codetools              0.2-18   2020-11-04 [1] CRAN (R 4.0.4)
 colorspace             2.0-0    2020-11-11 [1] CRAN (R 4.0.4)
 ComplexHeatmap         2.6.2    2020-11-12 [1] Bioconductor  
 crayon                 1.4.1    2021-02-08 [1] CRAN (R 4.0.4)
 crosstalk              1.1.1    2021-01-12 [1] CRAN (R 4.0.4)
 curl                   4.3      2019-12-02 [1] CRAN (R 4.0.4)
 data.table             1.14.0   2021-02-21 [1] CRAN (R 4.0.4)
 DBI                    1.1.1    2021-01-15 [1] CRAN (R 4.0.4)
 DelayedArray           0.16.3   2021-03-24 [1] Bioconductor  
 desc                   1.3.0    2021-03-05 [1] CRAN (R 4.0.4)
 DESeq2               * 1.30.1   2021-02-19 [1] Bioconductor  
 details                0.2.1    2020-01-12 [1] CRAN (R 4.0.4)
 devtools               2.4.2    2021-06-07 [1] CRAN (R 4.0.4)
 digest                 0.6.27   2020-10-24 [1] CRAN (R 4.0.4)
 dplyr                * 1.0.5    2021-03-05 [1] CRAN (R 4.0.4)
 edgeR                * 3.32.1   2021-01-14 [1] Bioconductor  
 effectsize             0.4.4-1  2021-04-05 [1] CRAN (R 4.0.4)
 ellipsis               0.3.1    2020-05-15 [1] CRAN (R 4.0.4)
 emmeans                1.6.0    2021-04-24 [1] CRAN (R 4.0.4)
 estimability           1.3      2018-02-11 [1] CRAN (R 4.0.4)
 evaluate               0.14     2019-05-28 [1] CRAN (R 4.0.4)
 fansi                  0.4.2    2021-01-15 [1] CRAN (R 4.0.4)
 farver                 2.1.0    2021-02-28 [1] CRAN (R 4.0.4)
 fastmap                1.1.0    2021-01-25 [1] CRAN (R 4.0.4)
 foreach                1.5.1    2020-10-15 [1] CRAN (R 4.0.4)
 fs                     1.5.0    2020-07-31 [1] CRAN (R 4.0.4)
 genefilter           * 1.72.1   2021-01-21 [1] Bioconductor  
 geneplotter            1.68.0   2020-10-27 [1] Bioconductor  
 generics               0.1.0    2020-10-31 [1] CRAN (R 4.0.4)
 GenomeInfoDb         * 1.26.7   2021-04-08 [1] Bioconductor  
 GenomeInfoDbData       1.2.4    2021-03-30 [1] Bioconductor  
 GenomicRanges        * 1.42.0   2020-10-27 [1] Bioconductor  
 GEOquery               2.58.0   2020-10-27 [1] Bioconductor  
 GetoptLong             1.0.5    2020-12-15 [1] CRAN (R 4.0.4)
 ggfortify              0.4.11   2020-10-02 [1] CRAN (R 4.0.4)
 ggplot2              * 3.3.3    2020-12-30 [1] CRAN (R 4.0.4)
 ggplotify            * 0.0.6    2021-04-22 [1] CRAN (R 4.0.4)
 GlobalOptions          0.1.2    2020-06-10 [1] CRAN (R 4.0.4)
 glue                   1.4.2    2020-08-27 [1] CRAN (R 4.0.4)
 gridExtra              2.3      2017-09-09 [1] CRAN (R 4.0.4)
 gridGraphics           0.5-1    2020-12-13 [1] CRAN (R 4.0.4)
 gtable                 0.3.0    2019-03-25 [1] CRAN (R 4.0.4)
 highr                  0.9      2021-04-16 [1] CRAN (R 4.0.4)
 hms                    1.0.0    2021-01-13 [1] CRAN (R 4.0.4)
 htmltools              0.5.1.1  2021-01-22 [1] CRAN (R 4.0.4)
 htmlwidgets            1.5.3    2020-12-10 [1] CRAN (R 4.0.4)
 httr                   1.4.2    2020-07-20 [1] CRAN (R 4.0.4)
 insight                0.13.2   2021-04-01 [1] CRAN (R 4.0.4)
 IRanges              * 2.24.1   2020-12-12 [1] Bioconductor  
 iterators              1.0.13   2020-10-15 [1] CRAN (R 4.0.4)
 jquerylib              0.1.4    2021-04-26 [1] CRAN (R 4.0.4)
 jsonlite               1.7.2    2020-12-09 [1] CRAN (R 4.0.4)
 knitr                  1.33     2021-04-24 [1] CRAN (R 4.0.4)
 labeling               0.4.2    2020-10-20 [1] CRAN (R 4.0.4)
 lattice                0.20-41  2020-04-02 [1] CRAN (R 4.0.4)
 lazyeval               0.2.2    2019-03-15 [1] CRAN (R 4.0.4)
 lifecycle              1.0.0    2021-02-15 [1] CRAN (R 4.0.4)
 limma                * 3.46.0   2020-10-27 [1] Bioconductor  
 locfit                 1.5-9.4  2020-03-25 [1] CRAN (R 4.0.4)
 magrittr               2.0.1    2020-11-17 [1] CRAN (R 4.0.4)
 MASS                   7.3-53.1 2021-02-12 [1] CRAN (R 4.0.4)
 Matrix                 1.3-2    2021-01-06 [1] CRAN (R 4.0.4)
 MatrixGenerics       * 1.2.1    2021-01-30 [1] Bioconductor  
 matrixStats          * 0.58.0   2021-01-29 [1] CRAN (R 4.0.4)
 memoise                2.0.0    2021-01-26 [1] CRAN (R 4.0.4)
 mgcv                 * 1.8-35   2021-04-18 [1] CRAN (R 4.0.4)
 multcomp               1.4-16   2021-02-08 [1] CRAN (R 4.0.4)
 munsell                0.5.0    2018-06-12 [1] CRAN (R 4.0.4)
 mvtnorm                1.1-1    2020-06-09 [1] CRAN (R 4.0.4)
 nlme                 * 3.1-152  2021-02-04 [1] CRAN (R 4.0.4)
 openxlsx               4.2.3    2020-10-27 [1] CRAN (R 4.0.4)
 parameters             0.13.0   2021-04-08 [1] CRAN (R 4.0.4)
 patchwork            * 1.1.1    2020-12-17 [1] CRAN (R 4.0.4)
 pheatmap             * 1.0.12   2019-01-04 [1] CRAN (R 4.0.4)
 pillar                 1.6.0    2021-04-13 [1] CRAN (R 4.0.4)
 pkgbuild               1.2.0    2020-12-15 [1] CRAN (R 4.0.4)
 pkgconfig              2.0.3    2019-09-22 [1] CRAN (R 4.0.4)
 pkgload                1.2.1    2021-04-06 [1] CRAN (R 4.0.4)
 plgINS               * 0.1.5    2021-05-03 [1] local         
 plotly               * 4.9.3    2021-01-10 [1] CRAN (R 4.0.4)
 plyr                   1.8.6    2020-03-03 [1] CRAN (R 4.0.4)
 png                    0.1-7    2013-12-03 [1] CRAN (R 4.0.4)
 prettyunits            1.1.1    2020-01-24 [1] CRAN (R 4.0.4)
 processx               3.5.1    2021-04-04 [1] CRAN (R 4.0.4)
 ps                     1.6.0    2021-02-28 [1] CRAN (R 4.0.4)
 purrr                  0.3.4    2020-04-17 [1] CRAN (R 4.0.4)
 R6                     2.5.0    2020-10-28 [1] CRAN (R 4.0.4)
 randomcoloR            1.1.0.1  2019-11-24 [1] CRAN (R 4.0.4)
 RColorBrewer         * 1.1-2    2014-12-07 [1] CRAN (R 4.0.4)
 Rcpp                   1.0.6    2021-01-15 [1] CRAN (R 4.0.4)
 RCurl                  1.98-1.3 2021-03-16 [1] CRAN (R 4.0.4)
 readr                  1.4.0    2020-10-05 [1] CRAN (R 4.0.4)
 registry               0.5-1    2019-03-05 [1] CRAN (R 4.0.4)
 remotes                2.3.0    2021-04-01 [1] CRAN (R 4.0.4)
 report                 0.3.0    2021-04-15 [1] CRAN (R 4.0.4)
 reshape2             * 1.4.4    2020-04-09 [1] CRAN (R 4.0.4)
 rjson                  0.2.20   2018-06-08 [1] CRAN (R 4.0.4)
 rlang                  0.4.10   2020-12-30 [1] CRAN (R 4.0.4)
 rmarkdown              2.7      2021-02-19 [1] CRAN (R 4.0.4)
 rmdformats             1.0.1    2021-01-13 [1] CRAN (R 4.0.4)
 rprojroot              2.0.2    2020-11-15 [1] CRAN (R 4.0.4)
 RSQLite                2.2.7    2021-04-22 [1] CRAN (R 4.0.4)
 Rtsne                  0.15     2018-11-10 [1] CRAN (R 4.0.4)
 rvcheck                0.1.8    2020-03-01 [1] CRAN (R 4.0.4)
 S4Vectors            * 0.28.1   2020-12-09 [1] Bioconductor  
 sandwich               3.0-0    2020-10-02 [1] CRAN (R 4.0.4)
 sass                   0.3.1    2021-01-24 [1] CRAN (R 4.0.4)
 scales                 1.1.1    2020-05-11 [1] CRAN (R 4.0.4)
 seriation              1.2-9    2020-10-01 [1] CRAN (R 4.0.4)
 sessioninfo            1.1.1    2018-11-05 [1] CRAN (R 4.0.4)
 SEtools              * 1.4.0    2020-10-27 [1] Bioconductor  
 shape                  1.4.5    2020-09-13 [1] CRAN (R 4.0.4)
 SRAdb                  1.52.0   2020-10-27 [1] Bioconductor  
 stringi                1.5.3    2020-09-09 [1] CRAN (R 4.0.4)
 stringr                1.4.0    2019-02-10 [1] CRAN (R 4.0.4)
 SummarizedExperiment * 1.20.0   2020-10-27 [1] Bioconductor  
 survival               3.2-11   2021-04-26 [1] CRAN (R 4.0.4)
 sva                  * 3.38.0   2020-10-27 [1] Bioconductor  
 testthat               3.0.2    2021-02-14 [1] CRAN (R 4.0.4)
 TH.data                1.0-10   2019-01-21 [1] CRAN (R 4.0.4)
 tibble                 3.1.1    2021-04-18 [1] CRAN (R 4.0.4)
 tidyr                  1.1.3    2021-03-03 [1] CRAN (R 4.0.4)
 tidyselect             1.1.0    2020-05-11 [1] CRAN (R 4.0.4)
 TSP                    1.1-10   2020-04-17 [1] CRAN (R 4.0.4)
 usethis                2.0.1    2021-02-10 [1] CRAN (R 4.0.4)
 utf8                   1.2.1    2021-03-12 [1] CRAN (R 4.0.4)
 V8                     3.4.1    2021-04-23 [1] CRAN (R 4.0.4)
 vctrs                  0.3.7    2021-03-29 [1] CRAN (R 4.0.4)
 viridis              * 0.6.0    2021-04-15 [1] CRAN (R 4.0.4)
 viridisLite          * 0.4.0    2021-04-13 [1] CRAN (R 4.0.4)
 withr                  2.4.2    2021-04-18 [1] CRAN (R 4.0.4)
 writexl                1.4.0    2021-04-20 [1] CRAN (R 4.0.4)
 xfun                   0.24     2021-06-15 [1] CRAN (R 4.0.4)
 XML                    3.99-0.6 2021-03-16 [1] CRAN (R 4.0.4)
 xml2                   1.3.2    2020-04-23 [1] CRAN (R 4.0.4)
 xtable                 1.8-4    2019-04-21 [1] CRAN (R 4.0.4)
 XVector                0.30.0   2020-10-27 [1] Bioconductor  
 yaml                   2.2.1    2020-02-01 [1] CRAN (R 4.0.4)
 zip                    2.1.1    2020-08-27 [1] CRAN (R 4.0.4)
 zlibbioc               1.36.0   2020-10-27 [1] Bioconductor  
 zoo                    1.8-9    2021-03-09 [1] CRAN (R 4.0.4)

[1] /home/ubuntu/R/x86_64-pc-linux-gnu-library/4.0
[2] /usr/local/lib/R/site-library
[3] /usr/lib/R/site-library
[4] /usr/lib/R/library